import re
import os

# 基础目录，假设所有文件都在这个目录下
# base_dir = "C:/Users/admin/Desktop/03_simulation_example/00 Structure/00 NK"

# new_par="new_G_C9.par"


# 读取文本文件
def Path_completion(new_par,base_dir):
    with open(new_par, "r") as file:
        lines = file.readlines()

    # 用于存储更新后的行
    updated_lines = []

    # 正则表达式匹配以 "File" 开头的行
    pattern = re.compile("^\s*File")

    for line in lines:
        if pattern.match(line):
            # 找到文件名的起始位置
            start = line.find('"') + 1
            end = line.rfind('"')
            filename = line[start:end]

            # 检查文件名是否已经包含基础目录
            if not filename.startswith(base_dir):
                # 构建完整的文件路径
                full_path = base_dir +"/"+ filename
                # 替换文件名为完整路径
                updated_line = line[:start] + full_path + line[end:]
            else:
                updated_line = line
            updated_lines.append(updated_line)
        else:
            updated_lines.append(line)

    # 将更新后的内容写回文件或新文件
    with open(new_par, "w") as file:
        file.writelines(updated_lines)

    print("文件路径已更新。")